home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / GAS_1_38.ARJ / XMALLOC.C < prev    next >
C/C++ Source or Header  |  1989-03-01  |  1KB  |  61 lines

  1. /* xmalloc.c - get memory or bust
  2.    Copyright (C) 1987 Free Software Foundation, Inc.
  3.  
  4. This file is part of GAS, the GNU Assembler.
  5.  
  6. GAS is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 1, or (at your option)
  9. any later version.
  10.  
  11. GAS is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GAS; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. /*
  21. NAME
  22.     xmalloc() - get memory or bust
  23. INDEX
  24.     xmalloc() uses malloc()
  25.  
  26. SYNOPSIS
  27.     char *    my_memory;
  28.  
  29.     my_memory = xmalloc(42); / * my_memory gets address of 42 chars * /
  30.  
  31. DESCRIPTION
  32.  
  33.     Use xmalloc() as an "error-free" malloc(). It does almost the same job.
  34.     When it cannot honour your request for memory it BOMBS your program
  35.     with a "virtual memory exceeded" message. Malloc() returns NULL and
  36.     does not bomb your program.
  37.  
  38. SEE ALSO
  39.     malloc()
  40.  
  41. */
  42. #ifdef USG
  43. #include <malloc.h>
  44. #endif
  45.  
  46. char * xmalloc(n)
  47.      long n;
  48. {
  49.   char *    retval;
  50.   char *    malloc();
  51.   void    error();
  52.  
  53.   if ( ! (retval = malloc ((unsigned)n)) )
  54.     {
  55.       error("virtual memory exceeded");
  56.     }
  57.   return (retval);
  58. }
  59.  
  60. /* end: xmalloc.c */
  61.